home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 001087_dcmartin@lib.ucsf.edu _Tue May 11 19:06:44 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  3KB

  1. Return-Path: <dcmartin@lib.ucsf.edu>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA15124; Tue, 11 May 93 19:06:44 MET DST
  4. Received: from knowman.lib.ucsf.EDU by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA21661; Tue, 11 May 1993 19:27:30 +0200
  6. Received: from theodoric.lib.ucsf.EDU by knowman.lib.ucsf.EDU (4.1/GSC4.21)
  7.     id AA25897; Tue, 11 May 93 10:24:10 PDT
  8. Message-Id: <9305111724.AA25897@knowman.lib.ucsf.EDU>
  9. From: dcmartin@ckm.ucsf.edu (David C. Martin)
  10. Organization: UCSF Center for Knowledge Management
  11. Email: dcmartin@ckm.ucsf.edu or uunet!dcmartin
  12. Phone: 415/476-6111
  13. Fax: 415/476-4653
  14. To: "Peter Lister, Cranfield Computer Centre" <ccprl@xdm001.ccc.cranfield.ac.uk>
  15. Cc: timbl@nxoc01.cern.ch, www-talk@nxoc01.cern.ch, marca@ncsa.uiuc.edu
  16. In-Reply-To: Your message of Tue, 11 May 93 17:16:32 +0000
  17.     <9305111616.AA15294@xdm039> 
  18. Subject: WWW: Local file handling (PATCH)
  19. Date: Tue, 11 May 93 10:27:14 MDT
  20. Sender: dcmartin@lib.ucsf.edu
  21.  
  22. *** gui2.c-orig    Sat Apr 17 22:52:44 1993
  23. --- gui2.c    Tue May 11 10:12:54 1993
  24. ***************
  25. *** 258,284 ****
  26.   
  27.   /* ---------------------- mo_post_open_local_window ----------------------- */
  28.   
  29.   static XmxCallback (open_local_win_cb)
  30.   {
  31. !   char *fname;
  32. !   char *url;
  33. !   mo_window *win = mo_fetch_window_by_id (XmxExtractUniqid ((int)client_data));
  34.   
  35. !   XtUnmanageChild (win->open_local_win);
  36. !   fname = (char *)malloc (128 * sizeof (char));
  37.     
  38. !   XmStringGetLtoR (((XmFileSelectionBoxCallbackStruct *)call_data)->value,
  39. !                    XmSTRING_DEFAULT_CHARSET,
  40. !                    &fname);
  41. !   url = (char *)malloc 
  42. !     ((strlen (fname) + strlen (shortmachine) + 16) * sizeof (char));
  43. !   sprintf (url, "file://%s%s\0", shortmachine, fname);
  44. !   if (url[strlen(url)-1] == '/')
  45. !     url[strlen(url)-1] = '\0';
  46. !   mo_load_window_text (win, url, NULL);
  47. !   return;
  48.   }
  49.   
  50.   mo_status mo_post_open_local_window (mo_window *win)
  51. --- 258,292 ----
  52.   
  53.   /* ---------------------- mo_post_open_local_window ----------------------- */
  54.   
  55. + #include <sys/param.h>
  56.   static XmxCallback (open_local_win_cb)
  57.   {
  58. !     char    buf[MAXPATHLEN];
  59. !     int        bufsiz = 0;
  60. !     char*    fname;
  61. !     char*    url;
  62. !     mo_window*    win = mo_fetch_window_by_id(XmxExtractUniqid((int)client_data));
  63.   
  64. !     XtUnmanageChild (win->open_local_win);
  65. !     fname = (char *)malloc (128 * sizeof (char));
  66.     
  67. !     XmStringGetLtoR (((XmFileSelectionBoxCallbackStruct *)call_data)->value,
  68. !              XmSTRING_DEFAULT_CHARSET,
  69. !              &fname);
  70. !     if ((bufsiz = readlink(fname, &buf)) > 0) {
  71. !     url = (char*) malloc((bufsiz + 1) * sizeof(char));
  72. !     buf[bufsiz] = (char) NULL;
  73. !     (void) strcpy(url, buf);
  74. !     } else {
  75. !     url = (char*) malloc((strlen (fname) + strlen (shortmachine) + 16) * 
  76. !                  sizeof (char));
  77. !     sprintf (url, "file://%s%s\0", shortmachine, fname);
  78. !     if (url[strlen(url)-1] == '/')
  79. !         url[strlen(url)-1] = '\0';
  80. !     }
  81. !     mo_load_window_text (win, url, NULL);
  82. !     return;
  83.   }
  84.   
  85.   mo_status mo_post_open_local_window (mo_window *win)